package com.ruowei.modules.foodOrder.pojo.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.Instant;
import java.util.List;

@Data
public class OrderDetailDTO {
    @ApiModelProperty(value = "订单状态")
    private String status;

    @ApiModelProperty(value = "收货人姓名")
    private String receiverName;

    @ApiModelProperty(value = "收货人手机号")
    private String receiverPhone;

    @ApiModelProperty(value = "地址")
    private String receiverAddress;

    @ApiModelProperty(value = "下单时间")
    private Instant orderTime;

    @ApiModelProperty(value = "当前时间")
    private Instant currentTime;

    @ApiModelProperty(value = "支付方式")
    private String payType;

    @ApiModelProperty(value = "配送员编码")
    private String courierCode;

    @ApiModelProperty(value = "配送员姓名")
    private String courierName;

    @ApiModelProperty(value = "配送员电话")
    private String courierPhone;

    @ApiModelProperty(value = "订单备注")
    private String remark;

    @ApiModelProperty(value = "商家编码")
    private String merchantCode;

    @ApiModelProperty(value = "商家名称")
    private String merchantName;

    @ApiModelProperty(value = "商家照片")
    private String merchantPhoto;

    @ApiModelProperty(value = "商家电话")
    private String merchantPhone;

    @ApiModelProperty(value = "总金额")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "实付金额")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "总包装费")
    private BigDecimal totalPackingFee;

    @ApiModelProperty(value = "商品列表")
    private List<DetailItemDTO> merchandiseList;

    public OrderDetailDTO(String status, String receiverName, String receiverPhone, String receiverAddress,
                          Instant orderTime, Instant currentTime, String payType, String courierCode,
                          String courierName, String courierPhone, String remark, String merchantCode,
                          String merchantName, String merchantPhoto, String merchantPhone, BigDecimal totalAmount,
                          BigDecimal payAmount, BigDecimal totalPackingFee, List<DetailItemDTO> merchandiseList) {
        this.status = status;
        this.receiverName = receiverName;
        this.receiverPhone = receiverPhone;
        this.receiverAddress = receiverAddress;
        this.orderTime = orderTime;
        this.currentTime = currentTime;
        this.payType = payType;
        this.courierCode = courierCode;
        this.courierName = courierName;
        this.courierPhone = courierPhone;
        this.remark = remark;
        this.merchantCode = merchantCode;
        this.merchantName = merchantName;
        this.merchantPhoto = merchantPhoto;
        this.merchantPhone = merchantPhone;
        this.totalAmount = totalAmount;
        this.payAmount = payAmount;
        this.totalPackingFee = totalPackingFee;
        this.merchandiseList = merchandiseList;
    }
}
